package com.bilibili.mapper;

import com.bilibili.dto.VideoToJedis;
import com.bilibili.entity.BulletChat;
import com.bilibili.entity.Video;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 和Video相关的操作Mapper
 * @author xiao
 */
public interface VideoMapper {
  /**
   * 获取随机视频
   * @param ids 随机id数组
   * @return
   */
  List<Video> getRandomVideo(@Param("ids") List<Integer> ids);
  /**
   * 通过id获取简易视频信息
   * @return
   * @param id 视频id
   */
  Video getVideoById(Integer id);
  /**
   * 获取所有视频的播放量等数据的
   * @return
   */
  List<VideoToJedis> getAllVideoToJedis();
  /**
   * 用于task中更新数据库的方法
   * @return
   * @param videoToJedis 视频的点击量等数据的实体类
   */
  Integer updateVideoToRedisByid(VideoToJedis videoToJedis);
  /**
   * 用于获取视频弹幕的方法
   * @return
   * @param videoid 视频id
   */
  List<BulletChat> getBulletChatByid(Integer videoid);
  /**
   * 添加弹幕的方法
   * @return
   * @param bulletChat 弹幕
   */
  Integer addBulletChat(BulletChat bulletChat);
}
